1. Field of the Invention
The present invention relates to using and generating finite state machines to monitor system status.
2. Description of the Related Art
A storage area network (SAN) comprises a network linking one or more servers to one or more storage systems. Each storage system could comprise a Redundant Array of Independent Disks (RAID) array, tape backup, tape library, CD-ROM library, or JBOD (Just a Bunch of Disks) components. A managed SAN must ensure both data integrity and data availability, which requires monitoring the health of the storage components in the SAN. The health of the SAN comprises the collective health of the storage devices interconnected in the SAN. Each storage device is comprised of multiple components, such as independent field replaceable units (FRUs), including a power supply, disk drive, loop card, etc., where each of these FRUs have a state and status. The health of each storage device is thus a function of the health of the FRUs and subcomponents therein.
An administrator for a storage device or SAN including monitored subcomponents, e.g., FRUs, may be alerted of problems with a particular storage device in the SAN or FRUs within the storage device. The monitored storage device may include code to notify an administrator upon detecting an error state. Further, an administrator person or program may poll the storage devices to run diagnostic tests to ascertain the health of the storage device.
To determine status, the system may perform synchronous polling where FRUs within the device are polled at intervals to see if an attribute has changed and the value of such changed attribute. Asynchronous polling of the FRUs is performed by polling upon the FRU generating an alert on a state change or problem.
Notwithstanding current techniques for monitoring devices, there is a need in the art for improved techniques for monitoring networks, devices, and FRU components of devices.